ostbuild: make pull-components work
authorMatthias Clasen <mclasen@redhat.com>
Sun, 6 May 2012 02:40:03 +0000 (22:40 -0400)
committerColin Walters <walters@verbum.org>
Sun, 6 May 2012 18:09:28 +0000 (14:09 -0400)
This builtin did not work for me. It did not initialize self.repo,
it used the nonexisting parse_active_branch function unconditionally,
and it did not actually find the list of components in contents.json.

This commit fixes all three of these issues.

src/ostbuild/pyostbuild/builtin_pull_components.py

index 7464b1eded4a92afad9fb142384b8074bc59e83e..5d0e5254e4e3238b4416a9267f6d2e8d0d352c99 100755 (executable)
@@ -43,10 +43,10 @@ class OstbuildPullComponents(builtins.Builtin):
         parser.add_argument('targets', nargs='*')
 
         args = parser.parse_args(argv)
-
-        self.parse_active_branch()
+        self._init_repo()
 
         if len(args.targets) == 0:
+            self.parse_active_branch()
             targets = [self.active_branch]
         else:
             targets = args.targets
@@ -58,8 +58,8 @@ class OstbuildPullComponents(builtins.Builtin):
             tree_contents_list.append(tree_contents)
         revisions = set()
         for tree_contents in tree_contents_list:
-            for content_item in tree_contents['contents']:
-                revisions.add(content_item['ostree-revision'])
+            for component in tree_contents['components']:
+                revisions.add('components/' + component)
         args = ['ostree-pull', '--repo=' + self.repo]
         # FIXME FIXME - don't hardcode origin here
         args.append('gnome')